#个数可变的位置参数
'''
1，定义函数的时候，可能无法事先确定传递的位置实参的个数时，使用可变的位置参数
2. 使用*定义可变的位置形参
3.结果为一个元组
'''
#个数可变的关键字形参
'''
1.定义函数时，无法事先确定传递的关键字实参的个数时，使用可变的关键字形参
2.使用**定义个数可变的关键字形参
3.结果为一个字典
'''
def fun(*args):     #函数定义时的，可变的位置参数
    print(args)

fun(10)
fun(10,30)
fun(30,405,50)



#个数可变的关键字形参
def fun1(**args):
    print(args)
fun1(a=10)
fun1(a=20,b=30,c=50)   #返回类型为字典，键值对形式

#个数可变的位置参数只能定义1个
#个数可变的关键字参数也只能定义一个

# def fun2(*args1,**args2):  此时程序不会报错
# def fun2(**args1,*args2):   此时程序会报错
# 说明，在一个函数的定义过程当中，既有个数可变的关键字形参也有可数可变的位置形参，要求个数可变的位置形参放在个数可变的关键字形参之前